home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / h / gencom.h < prev    next >
C/C++ Source or Header  |  1991-04-08  |  18KB  |  524 lines

  1.  
  2. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  3. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  4. /*                                                                 */
  5. /*                        Fichier Include PARI                     */
  6. /*                                                                 */
  7. /*                    commun a toutes les versions                 */
  8. /*                                                                 */
  9. /*                        copyright  Babecool                      */
  10. /*                                                                 */
  11. /*                                                                 */
  12. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  13. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  14.  
  15. typedef long    *GEN;
  16. typedef unsigned long ulong;
  17.  
  18. typedef struct entree {
  19.   char *name;
  20.   long valence;
  21.   void *value;
  22.   struct entree *next;
  23. } entree;
  24.  
  25. typedef unsigned char *byteptr;
  26.  
  27. /*      Variables statiques communes :
  28.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  */
  29. extern  long    prec,precdl;
  30. extern  GEN     bernzone,gpi,geuler;
  31. extern  long    tglobal;
  32. extern  long    *ordvar,varchanged;
  33. extern  GEN     polvar;
  34. extern  GEN     RAVYZARC;
  35.  
  36. extern  long    NUMFUNC;
  37. extern  entree  fonctions[],*hashtable[];
  38. extern  long    lontyp[],lontyp2[];
  39.  
  40. extern  jmp_buf environnement;
  41.  
  42. #ifndef IN_INIT_PARI
  43. extern  unsigned long    avma,bot,top;
  44. #endif
  45.  
  46. extern  GEN     gnil,gun,gdeux,ghalf,gi,gzero;
  47.  
  48. extern  GEN     *polun,*polx;
  49. extern  byteptr diffptr;
  50.  
  51. extern  GEN     *g;
  52. extern  entree  **varentries; /* noms des inconnues actives */
  53. extern  GEN     *blocliste;   /* tableau des pointeur de blocs */
  54. extern  long    nvar;         /* numero de la prochaine inconnue */
  55. extern  long    glbfmt[];
  56.  
  57. extern  char    *helpmessage[]; /* un message pour chaque fonction predefinei */
  58. extern  char    *errmessage[];  /* un par numero d'erreur */
  59.  
  60. #define STACKSIZE       500  /* nombre de gn possibles */
  61. #define MAXVAR          150  /* nombre maximum de variables */
  62. #define TBLSZ           135  /* taille de la table de hashcodes */
  63. #define MAXBLOC        5000  /* nombre de blocs autorises dans le tas */
  64.  
  65. #define K       9.632959862             /* 32*log(2)/log(10)    */
  66. #define K1      0.103810253             /* log(10)/(32*log(2))  */
  67. #define K2      1.1239968               /* 1/(1-(log(2)/(2*pi)))*/
  68. #define K3      0.900643041             /* 1/(1+(log(2)/(2*pi)))*/
  69. #define LOG2    0.693147180559945       /* log(2)               */
  70. #define L2SL10  0.301029995663981       /* log(2)/log(10)       */
  71. #undef  PI
  72. #define PI      3.141592653589          /* pi                   */
  73. #define rac5    2.23606797749           /* racine de 5          */
  74. #define C1      0.9189385332            /* log(2*pi)/2          */
  75. #define C2      22.18070978             /* 32*log(2)            */
  76. #define C3      0.0216950598            /* log((1+sqrt(5))/2)/(32*log(2)) */
  77. #define C4      4294967296.0            /* 2^32                 */
  78. #define C31     2147483648.0            /* 2^31                 */
  79. #define CN31    -2147483648.0           /* -2^31                */
  80. #define BIGINT  32767                   /* 2^15-1               */
  81.  
  82. #ifndef exp2
  83. #define exp2(x) exp((double)(x)*log(2.))
  84. #define log2(x) log((double)(x))/log(2.)
  85. #endif
  86.  
  87. #define separe(c)     ((c==';')||(c==':')||(c=='\n'))
  88.  
  89. #define output(x)     {brute(x,'g',-1);printf("\n");fflush(stdout);}
  90. #define outbeaut(x)   {sor(x,'g',-1,0);printf("\n");fflush(stdout);}
  91.  
  92. #define addis(x,s)  addsi(s,x)
  93. #define addrs(x,s)  addsr(s,x)
  94. #define mulis(x,s)  mulsi(s,x)
  95. #define mulrs(x,s)  mulsr(s,x)
  96.  
  97. #define gval(x,v) ggval(x,polx[v])
  98.  
  99. #define lgeti   (long)cgeti
  100. #define lgetr   (long)cgetr
  101. #define lpile   (long)gerepile
  102. #define lstoi   (long)stoi
  103. #define lnegi   (long)negi
  104. #define lnegr   (long)negr
  105. #define lmpneg  (long)mpneg
  106. #define labsi   (long)absi
  107. #define labsr   (long)absr
  108. #define lmpabs  (long)mpabs
  109. #define lmptrunc (long)mptrunc
  110. #define lmpent  (long)mpent
  111. #define lshifts (long)shifts
  112. #define lshifti (long)shifti
  113. #define lshiftr (long)shiftr
  114. #define lmpshift (long)mpshift
  115. #define laddsi  (long)addsi
  116. #define laddsr  (long)addsr
  117. #define laddis  (long)addis
  118. #define laddrs  (long)addrs
  119. #define laddii  (long)addii
  120. #define laddir  (long)addir
  121. #define laddrr  (long)addrr
  122. #define lmpadd  (long)mpadd
  123. #define lsubsi  (long)subsi
  124. #define lsubis  (long)subis
  125. #define lsubsr  (long)subsr
  126. #define lsubrs  (long)subrs
  127. #define lsubii  (long)subii
  128. #define lsubir  (long)subir
  129. #define lsubri  (long)subri
  130. #define lsubrr  (long)subrr
  131. #define lmpsub  (long)mpsub
  132. #define lmulss  (long)mulss
  133. #define lmulsi  (long)mulsi
  134. #define lmulsr  (long)mulsr
  135. #define lmulis  (long)mulis
  136. #define lmulrs  (long)mulrs
  137. #define lmulii  (long)mulii
  138. #define lmulir  (long)mulir
  139. #define lmulrr  (long)mulrr
  140. #define lmpmul  (long)mpmul
  141. #define ldivsi  (long)divsi
  142. #define ldivis  (long)divis
  143. #define ldivsr  (long)divsr
  144. #define ldivrs  (long)divrs
  145. #define ldivii  (long)divii
  146. #define ldivir  (long)divir
  147. #define ldivri  (long)divri
  148. #define ldivrr  (long)divrr
  149. #define lmpdiv  (long)mpdiv
  150. #define lmodii  (long)modii
  151. #define lresii  (long)resii
  152. #define ldvmdii (long)dvmdii
  153. #define ldvmdsi (long)dvmdsi
  154. #define ldvmdis (long)dvmdis
  155.   
  156. #define ltree   (long)gettree
  157. #define lgen    (long)getgen
  158. #define lcopy   (long)gcopy
  159. #define lclone  (long)gclone
  160. #define lgetg   (long)cgetg
  161. #define lgetp   (long)cgetp
  162. #define laddpex (long)gaddpex
  163. #define lgreffe (long)greffe
  164. #define lopsg2  (long)gopsg2
  165. #define lopgs2  (long)gopgs2
  166. #define lco8    (long)co8
  167. #define lneg    (long)gneg
  168. #define labs    (long)gabs
  169. #define lmax    (long)gmax
  170. #define lmin    (long)gmin
  171. #define ladd    (long)gadd
  172. #define lsub    (long)gsub
  173. #define lmul    (long)gmul
  174. #define ldiv    (long)gdiv
  175. #define linv    (long)ginv
  176. #define lmod    (long)gmod
  177. #define ldivmod (long)gdivmod
  178. #define lshift  (long)gshift
  179. #define lmul2n  (long)gmul2n
  180. #define lpuigs  (long)gpuigs
  181. #define lpui    (long)gpui
  182. #define lsubst  (long)gsubst
  183. #define lderiv  (long)deriv
  184. #define linteg  (long)integ
  185. #define lrecip  (long)recip
  186. #define lceil   (long)gceil
  187. #define lfloor  (long)gfloor
  188. #define lround  (long)ground
  189. #define lcvtoi  (long)gcvtoi
  190. #define lrndtoi (long)grndtoi
  191. #define lfrac   (long)gfrac
  192. #define ltrunc  (long)gtrunc
  193.   
  194. #define lconcat (long)concat
  195. #define lnorm   (long)gnorm
  196. #define lnorml2 (long)gnorml2
  197. #define lconj   (long)gconj
  198. #define lreal   (long)greal
  199. #define limag   (long)gimag
  200. #define lmppi   (long)mppi
  201. #define lmpeuler (long)mpeuler
  202. #define lmpsqrt (long)mpsqrt
  203. #define lsqrt   (long)gsqrt
  204. #define lmpexp1 (long)mpexp1
  205. #define lmpexp  (long)mpexp
  206. #define lexp    (long)gexp
  207. #define lmplog  (long)mplog
  208. #define llog    (long)glog
  209. #define lmpsc1  (long)mpsc1
  210. #define lmpcos  (long)mpcos
  211. #define lcos    (long)gcos
  212. #define lmpsin  (long)mpsin
  213. #define lsin    (long)gsin
  214. #define lmpaut  (long)mpaut
  215. #define lmptan  (long)mptan
  216. #define ltan    (long)gtan
  217. #define lmpatan (long)mpatan
  218. #define latan   (long)gatan
  219. #define lmpasin (long)mpasin
  220. #define lasin   (long)gasin
  221. #define lmpacos (long)mpacos
  222. #define lacos   (long)gacos
  223. #define lmpch   (long)mpch
  224. #define lch     (long)gch
  225. #define lmpsh   (long)mpsh
  226. #define lsh     (long)gsh
  227. #define lmpth   (long)mpth
  228. #define lth     (long)gth
  229. #define lmpath  (long)mpath
  230. #define lath    (long)gath
  231. #define lmpash  (long)mpash
  232. #define lash    (long)gash
  233. #define lmpach  (long)mpach
  234. #define lach    (long)gach
  235. #define lmpgamma (long)mpgamma
  236. #define lgamma  (long)ggamma
  237. #define lgamd   (long)ggamd
  238. #define lmppsi  (long)mppsi
  239. #define lpsi    (long)gpsi
  240. #define lmpgamd (long)mpgamd
  241. #define larg    (long)garg
  242. #define lsqr    (long)gsqr
  243.   
  244. #define ltrans  (long)gtrans
  245. #define lscalmat (long)gscalmat
  246. #define lscalsmat (long)gscalsmat
  247. #define laddmat (long)gaddmat
  248. #define laddsmat (long)gaddsmat
  249. #define lgauss  (long)gauss
  250. #define linvmat (long)invmat
  251. #define linvmulmat (long)invmulmat
  252. #define ldet    (long)det
  253. #define ldet2   (long)det2
  254. #define lcaract (long)caract
  255. #define lcaradj (long)caradj
  256. #define ladj    (long)adj
  257. #define ltrace  (long)trace
  258. #define lassmat (long)assmat
  259. #define lscal   (long)gscal
  260.   
  261. #define linvmod (long)ginvmod
  262. #define lred    (long)gred
  263. #define ldeuc   (long)gdeuc
  264. #define lres    (long)gres
  265. #define ldivres (long)poldivres
  266. #define lpoleval (long)poleval
  267. #define lroots  (long)roots
  268. #define lgcd    (long)ggcd
  269. #define lpolgcd (long)polgcd
  270. #define lcontent (long)content
  271. #define lprimpart (long)primpart
  272. #define lpsres  (long)psres
  273. #define lsubres (long)subres
  274. #define ldiscsr (long)discsr
  275. #define lquadpoly (long)quadpoly
  276. #define lquadgen (long)quadgen
  277.   
  278. #define llegendre (long)legendre
  279. #define ltchebi (long)tchebi
  280. #define lhilb   (long)hilb
  281. #define lpasc   (long)pasc
  282. #define lprec   (long)gprec
  283. #define lbinome (long)binome
  284.   
  285. #define lracine (long)racine
  286. #define lmppgcd (long)mppgcd
  287. #define lmpfact (long)mpfact
  288. #define lsfcont (long)sfcont
  289. #define lbezout (long)bezout
  290. #define lmpinvmod (long)mpinvmod
  291. #define lpuissmodulo (long)puissmodulo
  292. #define lfibo   (long)fibo
  293. #define lchangevar (long)changevar
  294.   
  295. #define zero    (long)gzero
  296. #define un      (long)gun
  297. #define deux    (long)gdeux
  298. #define lhalf   (long)ghalf
  299.   
  300. #define lpolx   (long)polx
  301. #define lpolun   (long)polun
  302.  
  303. #define laddsg(s,y)         (lopsg2(gadd,s,y))
  304. #define laddgs(y,s)         (lopsg2(gadd,s,y))
  305. #define lsubsg(s,y)         (lopsg2(gsub,s,y))
  306. #define lsubgs(y,s)         (lopgs2(gsub,y,s))
  307. #define lmulsg(s,y)         ((long)gmulsg(s,y))
  308. #define lmulgs(y,s)         ((long)gmulsg(s,y))
  309. #define ldivsg(s,y)         (lopsg2(gdiv,s,y))
  310. #define ldivgs(x,s)         ((long)gdivgs(x,s))
  311. #define lmodsg(s,y)         (lopsg2(gmod,s,y))
  312. #define lmodgs(y,s)         (lopgs2(gmod,y,s))
  313. #define ldiventsg(s,y)      (lopsg2(gdivent,s,y))
  314. #define ldiventgs(y,s)      (lopgs2(gdivent,y,s))
  315. #define lminsg(s,y)         (lopsg2(gmin,s,y))
  316. #define lmings(y,s)         (lopgs2(gmin,y,s))
  317. #define lmaxsg(s,y)         (lopsg2(gmax,s,y))
  318. #define lmaxgs(y,s)         (lopgs2(gmax,y,s))
  319.  
  320.  
  321. #define mppiz(x)              (gop0z(mppi,x))
  322. #define mpeulerz(x)           (gop0z(mpeuler,x))
  323. #define mpsqrtz(x,y)        (gop1z(mpsqrt,x,y))
  324. #define mpexpz(x,y)         (gop1z(mpexp,x,y))
  325. #define mpexp1z(x,y)        (gop1z(mpexp1,x,y))
  326. #define mplogz(x,y)         (gop1z(mplog,x,y))
  327. #define mpcosz(x,y)         (gop1z(mpcos,x,y))
  328. #define mpsinz(x,y)         (gop1z(mpsin,x,y))
  329. #define autz(x,y)           (gop1z(mpaut,x,y))
  330. #define mptanz(x,y)         (gop1z(mptan,x,y))
  331. #define mpatanz(x,y)        (gop1z(mpatan,x,y))
  332. #define mpasinz(x,y)        (gop1z(mpasin,x,y))
  333. #define mpacosz(x,y)        (gop1z(mpacos,x,y))
  334. #define mpchz(x,y)          (gop1z(mpch,x,y))
  335. #define mpshz(x,y)          (gop1z(mpsh,x,y))
  336. #define mpthz(x,y)          (gop1z(mpth,x,y))
  337. #define mpathz(x,y)         (gop1z(mpath,x,y))
  338. #define mpashz(x,y)         (gop1z(mpash,x,y))
  339. #define mpachz(x,y)         (gop1z(mpach,x,y))
  340. #define mpgammaz(x,y)       (gop1z(mpgamma,x,y))
  341. #define mpargz(x,y,z)      (gop2z(mparg,x,y,z))
  342. #define mpfactz(s,y)        (gops1z(mpfact,s,y))
  343.  
  344. #define gredz(x,y)          (gop1z(gred,x,y))
  345. #define gnegz(x,y)          (gop1z(gneg,x,y))
  346. #define gabsz(x,y)          (gop1z(gabs,x,y))
  347. #define gmaxz(x,y,z)       (gop2z(gmax,x,y,z))
  348. #define gminz(x,y,z)       (gop2z(gmin,x,y,z))
  349. #define gaddz(x,y,z)       (gop2z(gadd,x,y,z))
  350. #define gsubz(x,y,z)       (gop2z(gsub,x,y,z))
  351. #define gmulz(x,y,z)       (gop2z(gmul,x,y,z))
  352. #define gdivz(x,y,z)       (gop2z(gdiv,x,y,z))
  353. #define gdeucz(x,y,z)      (gop2z(gdeuc,x,y,z))
  354. #define gmodz(x,y,z)       (gop2z(gmod,x,y,z))
  355. #define gshiftz(x,s,z)      (gops2gsz(gshift,x,s,z))
  356. #define gmul2nz(x,s,z)      (gops2gsz(gmul2n,x,s,z))
  357. #define gaddsg(s,y)         (gopsg2(gadd,s,y))
  358. #define gaddgs(y,s)         (gopsg2(gadd,s,y))
  359. #define gsubsg(s,y)         (gopsg2(gsub,s,y))
  360. #define gsubgs(y,s)         (gopgs2(gsub,y,s))
  361. #define gcmpsg(s,y)         (-opgs2(gcmp,y,s))
  362. #define gcmpgs(y,s)         (opgs2(gcmp,y,s))
  363. #define gegalsg(s,y)        (opgs2(gegal,y,s))
  364. #define gegalgs(y,s)        (opgs2(gegal,y,s))
  365. #define gmulgs(y,s)         (gmulsg(s,y))
  366. #define gdivsg(s,y)         (gopsg2(gdiv,s,y))
  367. #define gdiventsg(s,y)      (gopsg2(gdivent,s,y))
  368. #define gdiventgs(y,s)      (gopgs2(gdivent,y,s))
  369. #define gmodsg(s,y)         (gopsg2(gmod,s,y))
  370. #define gmodgs(y,s)         (gopgs2(gmod,y,s))
  371. #define gminsg(s,y)         (gopsg2(gmin,s,y))
  372. #define gmings(y,s)         (gopgs2(gmin,y,s))
  373. #define gmaxsg(s,y)         (gopsg2(gmax,s,y))
  374. #define gmaxgs(y,s)         (gopgs2(gmax,y,s))
  375.  
  376.  
  377. #define gaddsgz(s,y,z)    (gopsg2z(gadd,s,y,z))
  378. #define gaddgsz(y,s,z)    (gopsg2z(gadd,s,y,z))
  379. #define gsubsgz(s,y,z)    (gopsg2z(gsub,s,y,z))
  380. #define gsubgsz(y,s,z)    (gopgs2z(gsub,y,s,z))
  381. #define gmulsgz(s,y,z)    (gops2sgz(gmulsg,s,y,z))
  382. #define gmulgsz(y,s,z)    (gops2sgz(gmulsg,s,y,z))
  383. #define gdivsgz(s,y,z)    (gopsg2z(gdiv,s,y,z))
  384. #define gdivgsz(y,s,z)    (gops2gsz(gdivgs,y,s,z))
  385. #define gdiventsgz(s,y,z) (gopsg2z(gdivent,s,y,z))
  386. #define gdiventgsz(y,s,z) (gopgs2z(gdivent,y,s,z))
  387. #define gmodsgz(s,y,z)    (gopsg2z(gmod,s,y,z))
  388. #define gmodgsz(y,s,z)    (gopgs2z(gmod,y,s,z))
  389. #define gminsgz(s,y,z)    (gopsg2z(gmin,s,y,z))
  390. #define gmingsz(y,s,z)    (gopgs2z(gmin,y,s,z))
  391. #define gmaxsgz(s,y,z)    (gopsg2z(gmax,s,y,z))
  392. #define gmaxgsz(y,s,z)    (gopgs2z(gmax,y,s,z))
  393.  
  394. #define coeff(a,i,j)      (*((long*)(*(a+(j)))+(i)))
  395. #define coef1(a,i,j)      (*((long*)(*(a+(j)+1))+(i)+1))
  396. #define bern(i)         (bernzone + (i)*(*(bernzone + 2)) + 3)
  397.  
  398. #define isonstack(x)   (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top)))
  399. #define copyifstack(x) (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top))?lcopy(RAVYZARC):(long)RAVYZARC)
  400.  
  401.  
  402. #define odd(x)                (x & 1)
  403. #define mpodd(x) (signe(x) && odd(mant(x,lgef(x) - 2)))
  404.      
  405. /* alglin.c */
  406.      
  407. GEN     gtrans(),gscalmat(),gscalsmat(),gaddmat(),gaddsmat();
  408. GEN     ker(),keri(),kerreel(),eigen(),hess(),carhess();
  409. GEN     gauss(),invmat(),det(),detreel(),det2(),caract(),caradj(),adj(),trace();
  410. GEN     assmat(),gnorm(),gnorml2(),gconj(),concat(),idmat();
  411. GEN     extract(),matextract(),gtomat(),invmulmat(),invmulmatreel(),invmatreel();
  412. GEN     sqred(),sqred1(),signat(),jacobi();
  413. long    rank();
  414.  
  415. /* anal.c */
  416.      
  417. GEN     lisexpr(),readexpr(),lisseq(),readseq();
  418.      
  419. /* arith.c */
  420.      
  421. GEN     racine(),mppgcd(),mpfact(),sfcont(),fc(),bezout(),chinois();
  422. GEN     mpinvmod(),puissmodulo(),fibo(),bigprem(),prime(),primes();
  423. GEN     phi(),decomp(),auxdecomp(),smallfact(),boundfact(),sumdiv(),sumdivk(),numbdiv();
  424. GEN     ellfacteur(),classno(),classno2(),classno3(),fundunit(),regula();
  425. GEN     compose(),sqcomp(),qf(),compose2(),sqcomp2(),qfred1(),primeform();
  426. GEN     binaire(),order(),gener(),divisors();
  427.      
  428. long    kronecker(),krosg(),krogs(),kross(),kro8();
  429. long    mu(),omega(),bigomega(),hil(),carreparfait();
  430. long    isprime(),ispsp(),issquarefree(),isfundamental();
  431. byteptr initprimes();
  432.  
  433. /* base.c */
  434.  
  435. GEN     base(),discf(),hnf(),smith();
  436.  
  437. /* bibli1.c */
  438.      
  439. GEN     tayl(),legendre(),tchebi(),hilb(),pasc(),laplace();
  440. GEN     gprec(),convol(),ggrando(),gconvsp(),gaminc();
  441. GEN     lll(),lllrat(),lllgram(),binome(),gscal();
  442. GEN     lindep(),lindep2(),algdep(),changevar(),ordred();
  443. GEN     polrecip(),reorder(),sort(),indexsort(),polred(),polsym();
  444.  
  445.      
  446. /* bibli2.c */
  447.  
  448. GEN     somme(),produit(),suminf(),prodinf(),prodinf1(),prodeuler();
  449. GEN     vecteur(),vvecteur(),matrice(),divsomme();
  450. GEN     qromb(),qromo(),qromi(),rombint();
  451. GEN     polint(),plot(),ploth(),ploth2(),zbrent(),sumalt(),sumpos();
  452. GEN     forpari(),forstep(),fordiv(),forprime(),ghell(),ghell2(),ghell3();
  453. GEN     initell(),zell(),coordch(),pointch();
  454. GEN     addell(),subell(),powell(),matell(),ordell(),apell(),apell1(),apell2();
  455. int     oncurve();
  456. void    eulsum();
  457.  
  458. /* es.c */
  459.  
  460. void    sor(),brute(),texe();
  461.  
  462. /* gen1.c */
  463.  
  464. GEN     gadd(),gsub(),gmul(),gdiv();
  465.  
  466. /* gen2.c gen3.c */
  467.  
  468. GEN     gcopy(),gclone(),cgetg(),cgetp(),gaddpex();
  469. GEN     greffe(),gopsg2(),gopgs2(),co8(),cvtop(),compo(),gsqr();
  470. GEN     gneg(),gabs(),gmax(),gmin(),ginv(),denom(),numer(),lift();
  471. GEN     gmulsg(),gdivgs(),gmodulo(),gmodulcp();
  472. GEN     gmod(),gshift(),gmul2n(),gpuigs(),gpui();
  473. GEN     gsubst(),deriv(),integ(),recip(),ground(),gcvtoi(),grndtoi();
  474. GEN     gceil(),gfloor(),gfrac(),gtrunc(),gdivent(),gdiventres();
  475. GEN     gdivmod(),geval(),glt(),gle(),ggt(),gge(),geq(),gne();
  476. GEN     gand(),gor(),glength(),truecoeff();
  477. GEN     gtopoly(),gtoser(),gtovec(),dbltor();
  478.  
  479. void    gop0z(),gop1z(),gop2z(),gops2gsz(),gops2sgz(),gops2ssz();
  480. void    gop3z(),gops1z(),gopsg2z(),gopgs2z();
  481. long    taille(),gexpo(),gsigne(),gcmp(),gtolong(),gegal();
  482. long    polegal(),tdeg(),ismonome(),iscomplex(),gvar(),ggval();
  483. double  rtodbl(),gtodouble();
  484.  
  485. /* init.c */
  486.  
  487. GEN     newbloc(),geni();
  488. long    marklist();
  489. void    init(),killbloc(),newvalue(),killvalue();
  490. void    err(),recover(),changevalue();
  491.  
  492. /* polarit.c */
  493.      
  494. GEN     ginvmod(),gred(),gdeuc(),gres(),poldivres();
  495. GEN     poleval(),roots(),ggcd(),gbezout(),vecbezout(),glcm();
  496. GEN     polgcd(),srgcd(),polgcdnun(),content(),primpart(),psres();
  497. GEN     factmod(),rootmod(),decpol(),factor(),factpol(),factpol2();
  498. GEN     subres(),discsr(),quadpoly(),quadgen(),bezoutpol(),polinvmod();
  499. long    sturm();
  500. void    gredsp();
  501.      
  502. /* trans.c */
  503.      
  504. GEN     greal(),gimag(),teich(),agm(),palog();
  505. GEN     mpsqrt(),gsqrt(),mpexp1(),mpexp(),gexp(),logagm(),glogagm();
  506. GEN     mplog(),glog(),mpsc1(),mpcos(),gcos(),mpsin(),gsin();
  507. GEN     mpaut(),mptan(),gtan(),mpatan(),gatan(),mpasin(),gasin();
  508. GEN     mpacos(),gacos(),mparg(),mpch(),gch(),mpsh(),gsh();
  509. GEN     mpth(),gth(),mpath(),gath(),mpash(),gash();
  510. GEN     garg(),sarg(),mppsi(),gpsi(),transc(),kbessel(),hyperu();
  511. GEN     cxpsi(),jbesselh(),gzeta();
  512. GEN     kbessel2(),eint1(),gerfc(),eta(),jell(),wf2(),wf();
  513. GEN     incgam(),incgam1(),incgam2(),incgam3(),bernreal(),bernvec();
  514. GEN     mpach(),gach(),mpgamma(),cxgamma(),ggamma(),mpgamd(),ggamd(),mppi();
  515. GEN     mpeuler(),polylog(),dilog(),polylogd(),polylogp();
  516. GEN     theta(),thetanullk();
  517.  
  518. void    constpi(),consteuler(),gsincos();
  519.  
  520. /* version.c */
  521.  
  522. GEN     gerepilc();
  523. void    printversion();
  524.